import Request from './request'

import {
	getTokenStorage
} from "@/common/tools.js"
/* 公共请求地址 */
// const baseUrl = 'http://47.108.233.244:8080'
const baseUrl = 'http://111.230.9.199/pm2.5/index.php'

const http = new Request()
http.setConfig((config) => { /* 设置全局配置 */
	config.baseUrl = baseUrl 
	config.header = {
		...config.header,
		'content-type': 'application/json'
	}
	return config
})
http.interceptor.request((config, cancel) => { /* 请求之前拦截器   		'ACCEPT-LANGUAGE': */
	config.header = {
		...config.header,
		'Authorization': 'Bearer ' + getTokenStorage()
	}
	return config
})
/**
 * 自定义验证器，如果返回true 则进入响应拦截器的响应成功函数(resolve)，否则进入响应拦截器的响应错误函数(reject)
 * @param { Number } statusCode - 请求响应体statusCode（只读）
 * @return { Boolean } 如果为true,则 resolve, 否则 reject
 */
http.validateStatus = (statusCode) => {
	return statusCode === 200
}

http.interceptor.response(async (response) => { /* 请求之后拦截器 */
	uni.hideLoading()
	// 结果等于 1 提前结束函数
	if(response.data.code+'' === '1'){
		return response.data
	}
	 // 其他设备 登录
	else if(response.data.code === -10){
		console.log('被挤下线了')
		uni.reLaunch({
			url:'/pages/full-modal/log-out'
		})
		return Promise.reject(response)
	}
	// 请求失败
	else{
		// uni.showToast({
		// 	icon:'none',
		// 	title:response.data.msg
		// })
		// console.log('请求失败')
		// console.log(response)
		return response.data
	}
}, (response) => { // 请求错误做点什么
// 网络失败
	uni.hideLoading();
	return response
})

export {
	http,
	baseUrl
}
